//============================================================================
// Nome        : Veiculo.h
// Autores     : T1G7
//                                      Felipe Galvão do Espírito Santo
//                                      Ivanilda Maísa Costa Brazão de Almeida
//                                      Paulo Jorge de Faria dos Reis
// Versão      : 1.0
// Data        : Maio de 2011
// Copyright   : Creative Commons 2.0
// Descrição   : CAL 2011 - TG1
//               Tema 12 - Transporte de pacientes de uma clínica de saúde.
//============================================================================

#ifndef VEICULO_H_
#define VEICULO_H_

#include <vector>
#include "Auxiliar.h"
#include "Cliente.h"

using namespace std;

//! Definição de um veículo de transporte de clientes/utentes dentro do contexto da aplicação.
/*!
 *  Classe básica que possui os dados e funções suficientes para identificar e trabalhar com os veículos de transporte.
 */
class Veiculo
{
public:
	Veiculo(string linha, const string separadores = ";");	//! Construtor que permite realizar a criação do objecto da linha de registo em ficheiro de arquivo.
	~Veiculo();							//! Destrutor
	int getID() const;					//! Devolve o identificador do veículo.
	void setID(int _id);				//! Permite alterar o ID do veículo.
    int getCapacidade() const;			//! Devolve a lotação do veiculo (apenas passageiros).
    void setCapacidade(int capacidade);	//! Permite alterar a lotação disponivel para passageiros.
	string guardar(const string separadores = ";");	//! Devolve uma string que permite guardar o objecto num ficheiro de arquivo.

private:
	int ID;				//! Identificador do veiculo.
	int capacidade;		//! Lotação do veiculo, excluindo o motorista.
};
#endif /* VEICULO_H_ */
